<?php 
class ocorrencia_usuariosModel extends Model{
    public function LoadPerfil($cod_usuario){
        
        $this->LoadModel("usuario/login", 'uobj');
        $cod = $this->uobj->getCodUsuario();
        if(!is_numeric($cod_usuario)) $cod_usuario = $cod;
        
        //recupera dados pessoais do usuário
        $arr['dados']['cod_usuario'] = $this->uobj->getItem($cod_usuario);
        unset($arr['dados']['cod_usuario']['senha']);
        unset($arr['dados']['cod_usuario']['permissao']);
        unset($arr['dados']['cod_usuario']['confirmkey']);
        
        //recupera os grupos de trabalho dos quais o usuário participa
        if($cod_usuario == $cod  || $this->uobj->UserIsAdmin()){
            //recupera as ocorrencias ultimas ocorrencias de um usuário
            $this->LoadModel("ocorrencia/ocorrencias", 'oc');
            $arr['ocorrencias'][EM_ATRASO]['vars']  = $this->oc->atraso(0, 4, $cod_usuario);
            $sol = SOLICITACOES_DO_USUARIO;
            if($cod_usuario == $cod ){
                $sol = MINHAS_SOLICITACOES;
                $arr['ocorrencias'][EM_ATRASO]['count'] = $this->oc->atraso(0, 4, $cod_usuario, true);
                $arr['ocorrencias'][EM_ATRASO]['link']  = 'ocorrencia/ocorrencias/status/atraso';
                $arr['ocorrencias'][$sol]['link']  = 'ocorrencia/ocorrencias/status/solicitadas';
                $arr['ocorrencias'][$sol]['count'] = $this->oc->solicitadas(0, 4, $cod_usuario, true);
                
                $arr['ocorrencias'][NAO_LIDAS]['link']  = 'ocorrencia/ocorrencias/status/unread';
                $arr['ocorrencias'][NAO_LIDAS]['vars']  = $this->oc->unread(0, 10, $cod_usuario);
                $arr['ocorrencias'][NAO_LIDAS]['count'] = $this->oc->unread(0, 10, $cod_usuario, true);
            }
            $arr['ocorrencias'][$sol]['vars']  = $this->oc->solicitadas(0, 4, $cod_usuario);
            
        }
        return $arr;
    }
    
    public function status($function, $page, $cod_usuario = ""){
        
        $arr = array('solicitadas' => SOLICITACOES_DO_USUARIO, 'unread' => NAO_LIDAS, 'atraso' => EM_ATRASO);
        if(!array_key_exists($function, $arr)) $function = "atraso";
        
        $this->LoadModel("usuario/login", 'uobj');
        $cod = $this->uobj->getCodUsuario();
        if(!is_numeric($cod_usuario)) $cod_usuario = $cod;
        
        if($cod_usuario != $cod  && !$this->uobj->UserIsAdmin()) throw new AcessDeniedException();
        $out[$arr[$function]] = $this->oc->$function($page, 10, $cod_usuario);
        return $out;
    }
    
    public function LoadPerfis($page){
        $this->LoadModel("usuario/login", 'uobj');
        return $this->uobj->paginate($page, "ocorrencia/usuarios/index", "", "", 10);
    }
}
?>